package com.immediatus.engine.modifier;

import com.immediatus.engine.contracts.IUnit;
import com.immediatus.engine.contracts.IUnitModifier;

public class LoopUnitModifier extends LoopModifier<IUnit> implements IUnitModifier{

	public LoopUnitModifier(final IUnitModifier modifier_) {
		super(modifier_);
	}

	public LoopUnitModifier(final IUnitModifier modifier_, final int loopCount_) {
		super(modifier_, loopCount_);
	}

	public LoopUnitModifier(final IUnitModifier modifier_, final int loopCount_, final ILoopUnitModifierListener listener_) {
		super(modifier_, loopCount_, listener_);
	}

	public LoopUnitModifier(final IUnitModifier modifier_, final int loopCount_, final IUnitModifierListener listener_) {
		super(modifier_, loopCount_, listener_);
	}

	public LoopUnitModifier(final IUnitModifierListener listener_, final int loopCount_, final ILoopUnitModifierListener loopListener_, final IUnitModifier modifier_) {
		super(modifier_, loopCount_, loopListener_, listener_);
	}

	protected LoopUnitModifier(final LoopUnitModifier modifier_) {
		super(modifier_);
	}

	@Override
	public LoopUnitModifier deepCopy() {
		return new LoopUnitModifier(this);
	}


	public interface ILoopUnitModifierListener extends ILoopModifierListener<IUnit> {
	}
}
